kexec: identify which cpu the kexec image is being executed on
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 10 Mar 2014 10:11:28 +0000 (11:11 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 10 Mar 2014 10:11:28 +0000 (11:11 +0100)
A patch to this effect has been in XenServer for a little while, and has
proved to be a useful debugging point for servers which have different
behaviours depending when crashing on the non-bootstrap processor.

Moving the printk() from kexec_panic() to one_cpu_only() means that it will
only be printed for the cpu which wins the race along the kexec path.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: David Vrabel <david.vrabel@citrix.com>
xen/common/kexec.c

index 481b0c2fcf54ab7840d9d27acd86c48870165137..23d964e1f9ade95fccfe258ad2047dc8e34f3763 100644 (file)
@@ -265,6 +265,8 @@ static int noinline one_cpu_only(void)
     }
 
     set_bit(KEXEC_FLAG_IN_PROGRESS, &kexec_flags);
+    printk("Executing kexec image on cpu%u\n", cpu);
+
     return 0;
 }
 
@@ -340,8 +342,6 @@ void kexec_crash(void)
     if ( !test_bit(KEXEC_IMAGE_CRASH_BASE + pos, &kexec_flags) )
         return;
 
-    printk("Executing crash image\n");
-
     kexecing = TRUE;
 
     if ( kexec_common_shutdown() != 0 )